Bag Methods

Wintellect PowerCollections

Collapse imageExpand ImageCollapseAll imageExpandAll imageDropDown imageDropDownHover imageCopy imageCopyHover image
[This topic is pre-release documentation and is subject to change in future releases. Blank topics are included as placeholders.]

Syntax

C#
[SerializableAttribute]
public class Bag<T>
Visual Basic (Declaration)
<SerializableAttribute> _
Public Class Bag(Of T)
Visual C++
[SerializableAttribute]
generic<typename T>
public ref class Bag

Type Parameters

T

The type exposes the following methods.

Public Methods

  NameDescription
Public methodAdd
Adds a new item to the bag. Since bags can contain duplicate items, the item is added even if the bag already contains an item equal to item. In this case, the count of items for the representative item is increased by one, but the existing represetative item is unchanged.
Public methodAddMany
Adds all the items in collection to the bag.
Public methodAddRepresentative
Adds a new item to the bag. Since bags can contain duplicate items, the item is added even if the bag already contains an item equal to item. In this case (unlike Add), the new item becomes the representative item.
Public methodAsReadOnly
Provides a read-only view of this collection. The returned ICollection<T> provides a view of the collection that prevents modifications to the collection. Use the method to provide access to the collection without allowing changes. Since the returned object is just a view, changes to the collection will be reflected in the view.
(Inherited from CollectionBase<(Of <T>)>.)
Public methodChangeNumberOfCopies
Changes the number of copies of an existing item in the bag, or adds the indicated number of copies of the item to the bag.
Public methodClear
Removes all items from the bag.
(Overrides CollectionBase<(Of <T>)>..::Clear()().)
Public methodClone
Makes a shallow clone of this bag; i.e., if items of the bag are reference types, then they are not cloned. If T is a value type, then each element is copied as if by simple assignment.
Public methodCloneContents
Makes a deep clone of this bag. A new bag is created with a clone of each element of this bag, by calling ICloneable.Clone on each element. If T is a value type, then each element is copied as if by simple assignment.
Public methodContains
Determines if this bag contains an item equal to item. The bag is not changed.
Public methodConvertAll<(Of <TOutput>)>
Convert this collection of items by applying a delegate to each item in the collection. The resulting enumeration contains the result of applying converter to each item in this collection, in order.
(Inherited from CollectionBase<(Of <T>)>.)
Public methodCopyTo
Copies all the items in the collection into an array. Implemented by using the enumerator returned from GetEnumerator to get all the items and copy them to the provided array.
(Inherited from CollectionBase<(Of <T>)>.)
Public methodCountWhere
Counts the number of items in the collection that satisfy the condition defined by predicate.
(Inherited from CollectionBase<(Of <T>)>.)
Public methodDifference
Computes the difference of this bag with another bag. The difference of these two bags is all items that appear in this bag, but not in otherBag. If an item appears X times in this bag, and Y times in the other bag, the difference contains the item X - Y times (zero times if Y >= X). A new bag is created with the difference of the bags and is returned. This bag and the other bag are unchanged.
Public methodDifferenceWith
Computes the difference of this bag with another bag. The difference of these two bags is all items that appear in this bag, but not in otherBag. If an item appears X times in this bag, and Y times in the other bag, the difference contains the item X - Y times (zero times if Y >= X). This bag receives the difference of the two bags; the other bag is unchanged.
Public methodDistinctItems
Enumerates all the items in the bag, but enumerates equal items just once, even if they occur multiple times in the bag.
Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Public methodExists
Determines if the collection contains any item that satisfies the condition defined by predicate.
(Inherited from CollectionBase<(Of <T>)>.)
Public methodFindAll
Enumerates the items in the collection that satisfy the condition defined by predicate.
(Inherited from CollectionBase<(Of <T>)>.)
Public methodForEach
Performs the specified action on each item in this collection.
(Inherited from CollectionBase<(Of <T>)>.)
Public methodGetEnumerator
Returns an enumerator that enumerates all the items in the bag. If an item is present multiple times in the bag, the representative item is yielded by the enumerator multiple times. The order of enumeration is haphazard and may change.
(Overrides CollectionBase<(Of <T>)>..::GetEnumerator()().)
Public methodGetHashCode
Serves as a hash function for a particular type. GetHashCode()() is suitable for use in hashing algorithms and data structures like a hash table.
(Inherited from Object.)
Public methodGetRepresentativeItem
Returns the representative item stored in the bag that is equal to the provided item. Also returns the number of copies of the item in the bag.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodIntersection
Computes the intersection of this bag with another bag. The intersection of two bags is all items that appear in both of the bags. If an item appears X times in one bag, and Y times in the other bag, the intersection contains the item Minimum(X,Y) times. A new bag is created with the intersection of the bags and is returned. This bag and the other bag are unchanged.
Public methodIntersectionWith
Computes the intersection of this bag with another bag. The intersection of two bags is all items that appear in both of the bags. If an item appears X times in one bag, and Y times in the other bag, the sum contains the item Minimum(X,Y) times. This bag receives the intersection of the two bags, the other bag is unchanged.
Public methodIsDisjointFrom
Determines if this bag is disjoint from another bag. Two bags are disjoint if no item from one set is equal to any item in the other bag.
Public methodIsEqualTo
Determines if this bag is equal to another bag. This bag is equal to otherBag if they contain the same number of of copies of equal elements.
Public methodIsProperSubsetOf
Determines if this bag is a proper subset of another bag. Neither bag is modified. This bag is a subset of otherBag if every element in this bag is also in otherBag, at least the same number of times. Additional, this bag must have strictly fewer items than otherBag.
Public methodIsProperSupersetOf
Determines if this bag is a proper superset of another bag. Neither bag is modified. This bag is a proper superset of otherBag if every element in otherBag is also in this bag, at least the same number of times. Additional, this bag must have strictly more items than otherBag.
Public methodIsSubsetOf
Determines if this bag is a subset of another ba11 items in this bag.
Public methodIsSupersetOf
Determines if this bag is a superset of another bag. Neither bag is modified. This bag is a superset of otherBag if every element in otherBag is also in this bag, at least the same number of times.
Public methodNumberOfCopies
Returns the number of copies of item in the bag.
Public methodRemove
Searches the bag for one item equal to item, and if found, removes it from the bag. If not found, the bag is unchanged.
Public methodRemoveAll
Removes all the items in the collection that satisfy the condition defined by predicate.
(Inherited from CollectionBase<(Of <T>)>.)
Public methodRemoveAllCopies
Searches the bag for all items equal to item, and removes all of them from the bag. If not found, the bag is unchanged.
Public methodRemoveMany
Removes all the items in collection from the bag. Items that are not present in the bag are ignored.
Public methodSum
Computes the sum of this bag with another bag. he sum of two bags is all items from both of the bags. If an item appears X times in one bag, and Y times in the other bag, the sum contains the item (X+Y) times. A new bag is created with the sum of the bags and is returned. This bag and the other bag are unchanged.
Public methodSumWith
Computes the sum of this bag with another bag. The sum of two bags is all items from both of the bags. If an item appears X times in one bag, and Y times in the other bag, the sum contains the item (X+Y) times. This bag receives the sum of the two bags, the other bag is unchanged.
Public methodSymmetricDifference
Computes the symmetric difference of this bag with another bag. The symmetric difference of two bags is all items that appear in either of the bags, but not both. If an item appears X times in one bag, and Y times in the other bag, the symmetric difference contains the item AbsoluteValue(X - Y) times. A new bag is created with the symmetric difference of the bags and is returned. This bag and the other bag are unchanged.
Public methodSymmetricDifferenceWith
Computes the symmetric difference of this bag with another bag. The symmetric difference of two bags is all items that appear in either of the bags, but not both. If an item appears X times in one bag, and Y times in the other bag, the symmetric difference contains the item AbsoluteValue(X - Y) times. This bag receives the symmetric difference of the two bags; the other bag is unchanged.
Public methodToArray
Creates an array of the correct size, and copies all the items in the collection into the array, by calling CopyTo.
(Inherited from CollectionBase<(Of <T>)>.)
Public methodToString
Shows the string representation of the collection. The string representation contains a list of the items in the collection. Contained collections (except string) are expanded recursively.
(Inherited from CollectionBase<(Of <T>)>.)
Public methodTrueForAll
Determines if all of the items in the collection satisfy the condition defined by predicate.
(Inherited from CollectionBase<(Of <T>)>.)
Public methodUnion
Computes the union of this bag with another bag. The union of two bags is all items from both of the bags. If an item appears X times in one bag, and Y times in the other bag, the union contains the item Maximum(X,Y) times. A new bag is created with the union of the bags and is returned. This bag and the other bag are unchanged.
Public methodUnionWith
Computes the union of this bag with another bag. The union of two bags is all items from both of the bags. If an item appears X times in one bag, and Y times in the other bag, the union contains the item Maximum(X,Y) times. This bag receives the union of the two bags, the other bag is unchanged.

Protected Methods

  NameDescription
Protected methodFinalize
Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)

Explicit Interface Implementations

  NameDescription
Explicit interface implemetationPrivate methodICollection..::CopyTo
Copies all the items in the collection into an array. Implemented by using the enumerator returned from GetEnumerator to get all the items and copy them to the provided array.
(Inherited from CollectionBase<(Of <T>)>.)
Explicit interface implemetationPrivate methodIEnumerable..::GetEnumerator
Provides an IEnumerator that can be used to iterate all the members of the collection. This implementation uses the IEnumerator<T> that was overridden by the derived classes to enumerate the members of the collection.
(Inherited from CollectionBase<(Of <T>)>.)
Explicit interface implemetationPrivate methodICloneable..::Clone
Makes a shallow clone of this bag; i.e., if items of the bag are reference types, then they are not cloned. If T is a value type, then each element is copied as if by simple assignment.

See Also